package com.huicoo.forestmanager.ui.patrol.forestCampTask.contract;

import com.huicoo.forestmanager.base.BasePresenter;
import com.huicoo.forestmanager.network.bean.patrol.AttachmentEntity;
import com.huicoo.forestmanager.network.bean.patrol.ReportEventBean;
import com.huicoo.forestmanager.network.bean.patrol.UploadFileBean;
import com.huicoo.forestmanager.network.bean.patrol.VerifyEventBean;
import com.huicoo.forestmanager.network.bean.patrol.VerifyEventCommentBean;

import java.util.HashMap;
import java.util.List;

import okhttp3.ResponseBody;
import retrofit2.Call;

/**
 * --------- 日期 ------- 维护人 ------------ 变更内容 --------
 * 2019/4/9		    Administrator
 * 问题验证
 */
public interface ForestCampTaskVerifyEventContract {
    interface View {
        void downloadSuccess(int type, String filePath);

        void uploadFileSuccess(UploadFileBean.UploadFileData Data, int attachmentType, int during);

        void replyEventSuccess();

        void verifyEventSuccess();

        void getCommentSuccess(List<VerifyEventCommentBean.EventCommentEntity> commentList, int totalNum);

        void fail(String msg);
    }

    interface Presenter extends BasePresenter {
        void uploadFile(HashMap<String, String> params, AttachmentEntity attachment);

        void replyEvent(HashMap<String, String> params);

        void verifyEvent(HashMap<String, String> params);

        void getComment(HashMap<String, String> params);

        void download(int type, String fileUrl, String fileName);
    }

    interface Model {
        Call<UploadFileBean> uploadFile(HashMap<String, String> params, AttachmentEntity attachment);

        Call<VerifyEventBean> replyEvent(HashMap<String, String> params);

        Call<VerifyEventBean> verifyEvent(HashMap<String, String> params);

        Call<VerifyEventCommentBean> getComment(HashMap<String, String> params);

        Call<ResponseBody> downloadFile(String fileUrl);
    }

    interface FileDownloadCallBack {
        void onLoading(long current, long total);
    }
}
